{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "73bd968b-d970-4a05-94ef-4e7abf990827",
   "metadata": {},
   "source": [
    "Chapter 22\n",
    "\n",
    "# 向量运算\n",
    "Book_3《数学要素》 | 鸢尾花书：从加减乘除到机器学习 (第二版)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "01b2dc7a-3175-4019-aa15-12e00c4e0629",
   "metadata": {},
   "source": [
    "这段代码旨在通过可视化向量的相加、相减和标量乘法操作来直观地展示二维向量运算的基本概念。首先，定义了向量 $ \\vec{a} = [4, 1] $ 和 $ \\vec{b} = [1, 3] $，并在二维坐标系中绘制这两个向量。\n",
    "\n",
    "1. **向量相加**：计算向量 $ \\vec{a} + \\vec{b} $，其中\n",
    "   $$\n",
    "   \\vec{a} + \\vec{b} = [4 + 1, 1 + 3] = [5, 4]\n",
    "   $$\n",
    "   代码将原始向量 $ \\vec{a} $ 和 $ \\vec{b} $ 以及结果向量 $ \\vec{a} + \\vec{b} $ 绘制在同一图中，从而展示向量加法的效果。\n",
    "\n",
    "2. **向量相减**：计算 $ \\vec{a} - \\vec{b} $，其中\n",
    "   $$\n",
    "   \\vec{a} - \\vec{b} = [4 - 1, 1 - 3] = [3, -2]\n",
    "   $$\n",
    "   代码在坐标系中绘制了 $ \\vec{a} $、$ \\vec{b} $ 和 $ \\vec{a} - \\vec{b} $，展示了向量相减的几何意义。\n",
    "\n",
    "3. **标量乘法**：在标量乘法部分，使用标量 $2$ 和 $0.5$ 分别与向量 $ \\vec{a} = [2, 2] $ 相乘，得到\n",
    "   $$\n",
    "   2 \\cdot \\vec{a} = [4, 4] \\quad \\text{和} \\quad 0.5 \\cdot \\vec{a} = [1, 1]\n",
    "   $$\n",
    "   通过绘制 $ 2\\vec{a} $、$ \\vec{a} $ 和 $ 0.5\\vec{a} $，可以观察到标量乘法如何放大或缩小向量的大小，而方向保持不变。\n",
    "\n",
    "每部分都通过图示展示运算结果，直观地理解向量在坐标平面上的几何意义。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a259b202-d05a-4324-9c9d-285d94ec9022",
   "metadata": {},
   "source": [
    "## 导入包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "e4bfdf22-05a5-487c-800b-6acd657b5ed3",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "691e1b41-14d4-4ddb-b541-1918e025763a",
   "metadata": {},
   "source": [
    "## 从原点绘制向量的函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "c8dfa31b-69a8-4e0e-8922-9d1769e3fd61",
   "metadata": {},
   "outputs": [],
   "source": [
    "def draw_vector(vector, RBG, label):  \n",
    "    array = np.array([[0, 0, vector[0], vector[1]]])  # 向量的起点与终点坐标\n",
    "    X, Y, U, V = zip(*array)\n",
    "    plt.quiver(X, Y, U, V, angles='xy', scale_units='xy', scale=1, color=RBG)  # 绘制向量\n",
    "    \n",
    "    # 添加标签显示向量坐标\n",
    "    label = label + f\" ({vector[0]},{vector[1]})\"\n",
    "    plt.annotate(label,  \n",
    "                 (vector[0], vector[1]),  \n",
    "                 textcoords=\"offset points\",  \n",
    "                 xytext=(0, 10),  \n",
    "                 ha='center')  "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "61059f7d-9295-4dd9-9255-203bab14d99a",
   "metadata": {},
   "source": [
    "## 定义两个向量 a 和 b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "20461923-b719-422f-9e2d-2713e6123503",
   "metadata": {},
   "outputs": [],
   "source": [
    "a = np.array([4, 1])  # 向量 a\n",
    "b = np.array([1, 3])  # 向量 b"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b2745cec-5f2c-48f5-8859-16e07cc749c0",
   "metadata": {},
   "source": [
    "## 向量相加 a + b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "fd9e0612-b298-4ba5-9550-279a9a06f01a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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OOLxuNFlmB5zkmFOMlbOaerUqXj22WeL8lrZMnrsscfw9a9/HVVVVZ0eP//887F79+7Mnz/96U+i7/XZZ5/htttuw1lnndXtc/X19Tj66KPx/PPP51Q/G6lNeDweeDweo8swPeYkw5xkzJpTY2MjzjzzTPTp0wf9+/fHRRddhG3btunyvRctWoTa2lpUV1fj5ptvRjQa7TGjZDKJF198ERdffHG3z3k8Hhx11FGZP/369ev1eycSCVx77bVYtGgRjjnmGM3nXHzxxXjhhRdy+j+xkdpEIBBQ/qJnPTAnGeYkY9acAoEA5s+fj/Xr1+PNN9+E0+nEZZddhmQyWdLv++abb2Lz5s34y1/+ghdeeAErVqzAokWLerz85R//+AcOHTqEiRMndvvcypUrUVtbi7Fjx+LGG29Ec3Nzr9//nnvuwcCBA/Htb3+7x+ecdtpp+L//+7+cToDi5S82wQvDZZiTDHOSMWtOl19+eaePn376adTW1mLTpk2YMGFCyb5veXk5/ud//gcVFRUYP3487rnnHtx+++2YM2eO5vO3b98Ol8uF2traTo9Pnz4dX//61zFixAh8+umnuOuuu3DOOedgw4YNPR7drl27Fk8//TQ2btyYtcahQ4ciEolgz549GDFihOj/xSNSm2hvb88sV0Y9Y04yzEnGrDlt27YN11xzDY455hhUV1dj5MiRAIAdO3b0+DX3338/KisrM39Wr16NW265pdtj2Zx44omdrq1taGhAe3s7tm7dqvn8UCgEj8fT7WSkq666ChdeeCEmTJiAGTNm4NVXX8U///lPvPLKK5qv09bWhm9+85t48sknMWDAgKw1pq9pzWWRCB6R2oRZ94zNhjnJMCcZs+Y0Y8YM1NXV4cknn8SQIUOQTCYxYcKErPdPveWWW3DllVdmPr722mtx+eWX49///d8zjw0dOjSvenpauGLAgAEIBoOIRqMoLy/v8esHDx6MESNGYMuWLZqf37ZtG7Zv344ZM2ZkHksPY5eVleHjjz/GqFGjAAAHDhwAAAwcOFBcPxupTXDxbBnmJMOcZMyY0/79+7F582YsXbo0c+bqmjVrev26fv36dTqhx+fzoba2FqNHjxZ/77///e8IhUKZo75169ahsrISNTU1ms8/6aSTAACbNm3K/FvL/v37sXPnTgwePFjz88cddxyampo6PfajH/0IbW1t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vx6PPPIIli5danBl5rBhwwY0Nzfj1FNPzTyWSCSwatUqPPbYY4hEInC5XAZWaE5+vx8nnHACtmzZYnQpOVN2jpS3YKNiSqVSmDt3Ln73u9/hrbfewsiRI40uSRmpVAqRSMToMkzj3HPPRVNTEzZu3Jj5M3HiRFx77bXYuHEjm2gPIpEINm/ejMGDBxtdSs6UPSIFeAs2ifb2dmzdujXz8aeffoqNGzeiX79+GD58uIGVmcucOXPwq1/9Ci+99BKqqqoyIx01NTXw+XwGV2ced955J6ZPn466ujq0tbVh+fLlWLlyJRobG40uzTSqqqq6za37/X7079+fc+5HuO222zBjxgwMHz4czc3NuPfee9Ha2opZs2YZXVrOlG6khd6CzQ7effddfPWrX818nJ57mDVrFp599lmDqjKfJUuWAACmTp3a6fFnnnkGs2fP1r8gk9q7dy9mzpyJ3bt3o6amBvX19WhsbMR5551ndGmkmM8//xxXX3019u3bh4EDB2Ly5MlYt26dku/fvI0aERFRAZSdIyUiIjIDNlIiIqICsJESEREVgI2UiIioAGykREREBWAjJSIiKgAbKRERUQHYSImIiArARkpERFQANlIiIqICsJESmdQLL7wAr9eLXbt2ZR674YYbUF9fj5aWFgMrI6Ijca1dIpNKpVI46aSTcNZZZ+Gxxx7DokWL8NRTT2HdunUYOnSo0eUR0b8offcXIitzOBy47777cMUVV2DIkCF45JFHsHr1ajZRIpPhESmRyZ1yyin48MMP8frrr+Pss882uhwi6oJzpEQm9tprr+Gjjz5CIpHAoEGDjC6HiDTwiJTIpN577z1MnToVjz/+OJYvX46Kigq8+OKLRpdFRF1wjpTIhLZv344LL7wQCxYswMyZM3H88cdj0qRJ2LBhA0499VSjyyOiI/CIlMhkDhw4gK985SuYMmUKli5dmnn8kksuQSQSQWNjo4HVEVFXbKREREQF4MlGREREBWAjJSIiKgAbKRERUQHYSImIiArARkpERFQANlIiIqICsJESEREVgI2UiIioAGykREREBWAjJSIiKgAbKRERUQHYSImIiArw/wHec8fCAalnDgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "\n",
    "draw_vector(a, np.array([0, 112, 192]) / 255, 'a')  # 绘制向量 a\n",
    "draw_vector(b, np.array([255, 0, 0]) / 255, 'b')    # 绘制向量 b\n",
    "draw_vector(a + b, np.array([146, 208, 80]) / 255, 'a + b')  # 绘制 a + b\n",
    "\n",
    "plt.xlabel('$x$')  # 设置 x 轴标签\n",
    "plt.ylabel('$y$')  # 设置 y 轴标签\n",
    "\n",
    "plt.axis('scaled')\n",
    "ax.set_xlim([0, 5])  # 设置 x 轴范围\n",
    "ax.set_ylim([0, 5])  # 设置 y 轴范围\n",
    "ax.grid(linestyle='--', linewidth=0.25, color=[0.5, 0.5, 0.5])  # 设置网格线\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5ad3a039-ede8-4b1b-abbf-29d9ed2aa025",
   "metadata": {},
   "source": [
    "## 向量相减 a - b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "006244a5-85fb-46fe-85a2-ad66c5538cd2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "\n",
    "draw_vector(a, np.array([0, 112, 192]) / 255, 'a')   # 绘制向量 a\n",
    "draw_vector(b, np.array([255, 0, 0]) / 255, 'b')     # 绘制向量 b\n",
    "draw_vector(a - b, np.array([146, 208, 80]) / 255, 'a - b')  # 绘制 a - b\n",
    "\n",
    "plt.xlabel('$x$')  # 设置 x 轴标签\n",
    "plt.ylabel('$y$')  # 设置 y 轴标签\n",
    "\n",
    "plt.axis('scaled')\n",
    "ax.set_xlim([0, 5])  # 设置 x 轴范围\n",
    "ax.set_ylim([-2, 3])  # 设置 y 轴范围\n",
    "ax.grid(linestyle='--', linewidth=0.25, color=[0.5, 0.5, 0.5])  # 设置网格线\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aee20ac0-c947-4e4e-b95b-dccde4d747f8",
   "metadata": {},
   "source": [
    "## 标量乘法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "6e0e525c-a065-479e-97fc-4de1318f0173",
   "metadata": {},
   "outputs": [],
   "source": [
    "a = np.array([2, 2])  # 定义向量 a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "536984e3-8c68-4a6a-b570-4e8d1abada3f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "\n",
    "draw_vector(2 * a, np.array([146, 208, 80]) / 255, '2*a')    # 绘制 2*a\n",
    "draw_vector(a, np.array([0, 112, 192]) / 255, 'a')           # 绘制 a\n",
    "draw_vector(0.5 * a, np.array([255, 0, 0]) / 255, '0.5*a')   # 绘制 0.5*a\n",
    "\n",
    "plt.xlabel('$x$')  # 设置 x 轴标签\n",
    "plt.ylabel('$y$')  # 设置 y 轴标签\n",
    "\n",
    "plt.axis('scaled')\n",
    "ax.set_xlim([0, 5])  # 设置 x 轴范围\n",
    "ax.set_ylim([0, 5])  # 设置 y 轴范围\n",
    "ax.grid(linestyle='--', linewidth=0.25, color=[0.5, 0.5, 0.5])  # 设置网格线\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "98eaae96-3fa1-45a1-9bf9-ecdb52a0c6f2",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8274345f-1e4b-491d-aaef-b427ff089a75",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
